A methodolgy for programming with concurrency
نویسندگان
چکیده
A programming calculus is presented which will yield programs with simple, suitable, and safe concurrency. The program design consists of three steps: (i) specification of a finite problem by a pre/post condition pair (2) formal refinement of a totally correct solution which can be implemented sequentially (3) declaration of program properties which allow relaxations in sequencing (+ concurrency) For infinite problems programs can be executed repeatedly without correctness problems. For the choice of refinement formal guidelines can be used. The derived solutions have the following properties: (a) dynamic concurrency processes do not have to be statically declared (b) only correct concurrency can be specified exclusion is not explicitly programmed (c) conditional concurrency no conditional delays (d) stepwise proofs of parallel correctness without auxiliary variables (e) simply derived freedom from deadlock and starvation without appealing to a fair scheduler Address of authors: University of Toronto, Computer Systems Research Group, 121 St. Joseph's St., Toronto, Ontario, Canada, M5S IAI Research supported by the Social Sciences and Humanities Research Council of Canada
منابع مشابه
A Survey of Concurrency Control Algorithms in the Operating Systems
Concurrency control is one of the important problems in operation systems. Various studies have been reported to present different algorithms to address this problem, although a few attempts have been made to represent an overall view of the characteristics of these algorithms and comparison of their capabilities to each other. This paper presents a survey of the current methods for controlling...
متن کاملA Survey of Concurrency Control Algorithms in the Operating Systems
Concurrency control is one of the important problems in operation systems. Various studies have been reported to present different algorithms to address this problem, although a few attempts have been made to represent an overall view of the characteristics of these algorithms and comparison of their capabilities to each other. This paper presents a survey of the current methods for controlling...
متن کاملOptimization of majority protocol for controlling transactions concurrency in distributed databases by multi-agent systems
In this paper, we propose a new concurrency control algorithm based on multi-agent systems which is an extension of majority protocol. Then, we suggest a clustering approach to get better results in reliability, decreasing message passing and algorithm’s runtime. Here, we consider n different transactions working on non-conflict data items. Considering execution efficiency of some different...
متن کاملAdding Concurrency to a Programming Language
A programming language that lacks facilities for concurrent programming can gain those facilities in two ways: the language can be extended with additional constructs, which will reflect a particular model of concurrency, or libraries of types and routines can be written with different libraries implementing different models. This paper examines the two approaches, for object-oriented and non-o...
متن کاملDefining a Catalog of Programming Anti-Patterns for Concurrent Java
Many programming languages, including Java, provide support for concurrency. Although concurrency has many benefits with respect to performance, concurrent software can be problematic to develop and test because of the many different thread interleavings. We propose a comprehensive set of concurrency programming anti-patterns that can be used by Java developers to aid in avoiding many of the kn...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1981